# Overview

This chapter provides an overview of the core components of Hatchet:

- **[Steps](./steps):** Individual, self-contained functions that execute specific tasks and return JSON-serializable results, forming the basic units of execution in Hatchet.
- **[Workflows](./workflows):** Declarative DAG definitions that organize steps into a coherent sequence or structure, managing the execution order and dependencies to achieve a specific outcome.
- **[Workers](./workers):** Long-lived runtimes that listen for instructions from the Hatchet engine to execute steps, running in your infrastructure to provide compute for task execution.
- **[Dashboard](./dashboard):** A web-based interface for managing and monitoring workflows, steps, and workers, providing visibility into the state of your distributed task execution.

## What's Next: Understanding Steps in Depth

Diving into the "Steps" section, we will explore how these fundamental units operate within Hatchet, including their characteristics, best practices for development, and their role in the broader context of distributed task execution.

[Continue to Understanding Steps →](./steps)
